export default {
    jsonToString(json) {
        return JSON.stringify(json);
    },
    
    stringToJson(string) {
        return JSON.parse(string);
    },
    
    stringToObject(string) {
        return JSON.parse(string);
    },
    
    objectToJson(object) {
        return JSON.stringify(object);
    },
    
    mergeJson(json1, json2) {
        return {...json1, ...json2};
    },
    
    mergeString(string1, string2) {
        const json1 = JSON.parse(string1);
        const json2 = JSON.parse(string2);
        return JSON.stringify({...json1, ...json2});
    },
    
    getValueByKeybars(json, keybars) {
        if (json === null) {
            return null;
        }
        const keys = keybars.split('.');
        let value = json;
        for (const key of keys) {
            if (value.hasOwnProperty(key)) {
                value = value[key];
            } else {
                return null;
            }
        }
        return value;
    }
}